1. Technical Field
The invention relates to smart card readers. More particularly, the invention relates to smart card readers that interface to both asynchronous and synchronous smart cards.
2. Description of the Prior Art
Smart cards are typically the same size as a conventional credit card. They are referred to as smart cards because they contain an embedded microchip. Smart cards are capable of storing personalized electronic data that can be used to authenticate a user to the user""s computer, and to authenticate the user during related e-commerce transactions. This technology, which requires both smart card reader hardware and software components for data transactions, effectively increases security and enables authorized users to have access to sensitive data and/or to enter into binding transactions. Because of the increased network security they provide, smart cards are often used for trusted e-commerce and digital transaction security.
Today, smart cards are used in virtually every aspect of the high technology industryxe2x80x94from commerce applications to identification, from benefits management to Internet/e-commerce transactions, and from telecommunications to broadcast television downloads. The increase in use of computer networks and the emergence of the Internet as a mechanism for both e-commerce and e-communication has accelerated the growth of demand, and the applications available, for smart cards.
Because a smart card can store information to protect privacy and data security, while strictly and precisely limiting access to such data, smart cards are becoming a favorable choice for computer and Internet access. In this type of application, the smart card becomes a secure extension of a computer network. As a result, computer manufacturers increasingly include smart card readers in the computer products that they offer to their customers. In this way, such products are able to meet today""s on going e-business security challenge in Internet access, network access, and electronic transactions.
Smart cards come in two flavors (as well as many formats): asynchronous and synchronous. The asynchronous smart cards are true xe2x80x9csmartxe2x80x9d cards because they contain a built-in CPU. The built-in CPU communicates with the attached computer through the smart card reader and manipulates the data stored in the smart card""s memory. Asynchronous cards are typically considered more expensive because of the built-in CPU.
Synchronous cards, on the other hand, do not have a built-in CPU and are considerably lower in cost than asynchronous smart cards. The synchronous cards are basically memory cards, sometimes with some built-in security.
The smart card reader interface is fairly standardized with respect to asynchronous smart cards. However, the communications interface with synchronous smart cards are not standardized. This means that different manufacturers have different data clock rates for writing data to the synchronous smart card""s memory, resulting in dedicated smart card readers for each type of synchronous smart card.
Further, a large number of smart card readers use USB connections to interface to the user""s computer. The USB driver architecture is inherently slower than PCI or RS232/PS2 standards because of the communications overhead. The drawback to using USB smart card readers is that the USB data rates are not ideal for reading or writing data to synchronous smart cards, i.e., the USB smart card readers cannot take full advantage of the synchronous smart card""s data bandwidth.
It would be advantageous to provide a reconfigurable flash media reader system that is adaptable to both asychronous and synchronous smart cards. It would further be advantageous to provide a reconfigurable flash media reader system that is increases the data bandwidth for synchronous smart cards over a USB connection.
The invention provides a reconfigurable flash media reader system. The system allows a flash media reader to dynamically adapt to differing types of synchronous flash media cards as well as asynchronous flash media cards. In addition, the invention provides a system that increases a USB flash media reader""s data bandwidth for synchronous flash media cards.
A preferred embodiment of the invention provides a flash media reader that accepts both asynchronous and synchronous flash media cards. The flash media reader is connected to a host computer via a Universal Serial Bus (USB). The flash media reader identifies the card type of the inserted flash media card and notifies the host computer of the card type.
The host computer has a list of interface information for different types of flash media cards. The flash media card type is referenced in the interface information list and the proper baud rate is then set on the flash media reader by the host computer.
If the flash media card is a synchronous card, data that is to written into the flash media card is gathered and converted to the proper card IO strobes for the flash media card type. The converted card IO strobes are interleaved with the proper card clock strobes for the flash media card type into a bit stream in a bulk transfer packet. The bulk transfer packet is sent via the USB link to the flash media reader.
The flash media reader receives the bulk transfer packet and extracts the data bit stream from said bulk transfer packet. The data bit stream is clocked into the flash media card using the baud rate as a reference clock. Clock and IO signals on the flash media card are strobed according to the interleaved card clock and card IO signals from the data bit stream.
Data is retrieved from the flash media card by calculating the number of clock cycles required to clock out the data from the flash media card. The host computer sets the appropriate baud rate on the flash media reader to accomplish the data read. After the calculated number of clock cycles are completed, the host computer issues a bulk in transfer command to the flash media reader. The flash media reader responds to the bulk in transfer command by sending a bulk in transfer packet containing the data clocked out of the flash media card to the host computer.
Other aspects and advantages of the invention will become apparent from the following detailed description in combination with the accompanying drawings, illustrating, by way of example, the principles of the invention.